Skip to content

命令行工具

DOS命令

tab 命令补全

DOS终端唤醒:
	通过运行唤醒:	win+R运行cmd
	快捷方式唤醒:	点击资源管理器路径 全选路径 输入cmd

文件浏览

	进入对应系统盘		盘符名称:	  |	  c:
	进入目录		  cd 目录名    |   cd day33
	退出一级目录		 cd..
	查看文件列表		 dir
	清空命令		  cls
	退出DOS		   exit
	创建目录		  mkdir 目录名 |	mkdir src
	删除目录		  rmdir 目录名 |	rmdir src
	创建文件		  copy con 文件|	 copy con a.txt		ctrl+z回车 结束创建过程
	删除文件		  del 文件名	|	del a.txt

sass样式处理

Linux命令

bash终端唤醒
	右键 git bash

本地文件浏览

	进入目录	cd 目录	|	cd day33			
	退出目录	cd ..	
    文件列表	ls/dir
    清空命令	clear
    打开文件	cat 文件名	|	cat index.html
    查看IP	 ipconfig

git版本管理工具

​ 分布式管理,多人协作代码管理。每一次提交自动记录一个版本,可回到任意的一个时间点。

配置用户信息
	配置用户名	  git config --global user.name	用户名
	配置邮箱	   git config --global user.email 邮箱
	配置ssh公钥	   ssh-keygen -t rsa -C 邮箱
	读取配置信息    git config --list
		
项目初始化(空的文件夹)
	初始目录	  git init
	添加地址	  git remote add origin 远程仓库地址
	下载代码	  git pull --rebase origin 主分支名
	首次提交	  git push -u origin 主分支名
	
项目初始化(完成部分工作的文件夹)
	初始目录	  git init
	添加地址	  git remote add origin 远程仓库地址
	下载代码	  git pull --rebase origin 主分支名
	创建子分支	 git branch 子分支名称
	切换子分支	 git checkout 子分支名称
	提交暂存	  git add .
	提交本地	  git commit -m 版本说明
	首次提交	  git push -u origin 分支名称
	
项目首次拉取
	克隆代码	  git clone https地址或ssh地址
	进入项目	  cd 项目名
	创建子分支	 git branch 子分支名称
	切换子分支	 git checkout 子分支名称

提交操作
	提交暂存	  git add .
	提交本地	  git commit -m 版本说明
	提交仓库	  git push origin 分支名称	(注:若多个仓库,则需上传多次,并改变地址名)

分支管理
	创建分支	   git branch 分支名称	(注:新分支拥有原分支所有文件)
	切换分支	   git checkout 分支名称
	创建并切换分支  git checkout -b 分支名称
	创建并切换分支  git branch -M 分支名称
	合并分支	   git merge 被合并的分支名称	(注:内容有冲突会提示)
	查看分支	   git branch

代码回滚(不可复原)
	查看提交信息   git log		(注:看完日志有bug,需重启git bash)
	回滚代码	  git reset --hard 版本哈希值	(注:此时正常提交会提醒版本过时)
	强推到远程    git push origin head --force
	
文件存取
	对比代码	  git status
	指定文件缓存   git add 指定文件名
	指定目录缓存	 git add 指定目录名/
	全部文件暂存   git add .
	全部文件暂存   git add --all
	文件移出缓存	 git rm --cached 文件名
	提交本地服务器  git commit -m 提交版本说明
	缓存并提交本地  git commit -am 提交版本说明
	提交至远程仓库	 git push origin 分支名
	从拉取远程仓库	 git pull origin 分支名
	
其他操作
	查看帮助 	   git --help

注:代码回滚上传远程仓库后不可复原

Node.js

​ Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境

​ Node.js的模块使用 require 引入,内置模块和插件模块直接引入,自定义模块引入时写相对路径

安装node.js

nodejs环境npm包管理工具,需打包安装(两者的版本号相对应)

安装方式

​ 1.nodejs安装包 2.mvn版本管理工具 注:两种方式采用一种即可

安装mvn版本管理工具
使用mvn版本工具安装node.js		默认安装路径: C:\Users\用户名AppData\Roaming\nvm

一、下载并安装nvm-windows
二、配置系统变量,配置路径:我的电脑/属性/高级设置/环境变量/系统变量
	 NVM_HOME: C:\Users\Pc\AppData\Roaming\nvm
	 NVM_SYMLINK: C:\Program File\node.js
	 path追加: %NVM_HOME% 和 %NVM_SYMLINK%
三、更改下载源
	在安装目录/settings.txt中追加代码
	node_mirror: https://npm.taobao.org/mirrors/node/
	npm_mirror: https://npm.taobao.org/mirrors/npm/
mvn命令
	查看可用版本  nvm list available		查看可下载的nodejs版本信息,LTS列表示稳定版本
	查看已有版本	nvm list   				列出当前电脑下的Node.js的版本列表
	切换版本	 nvm install 版本号       安装某一个版本
	安装版本	 nvm use 版本号           切换某一个版本

注:如果npm没有同步安装,则需从node.js官网下载对应版本的npm,安装在版本文件夹内(node_modules/npm)

基本操作

命令行工具通用操作

	ls	    		  查看当前路径的所有文件
	dir     		  查看当前路径的所有文件
	tab				  补全命令
	↑				  查看历史命令
	cd	目录名	  		进入目录
	软件名  --version	查看软件版本(简写 -v)

执行node.js文件

	node js文件		注:js文件的后缀名可以省略
node.js文件监听插件
	nodemon:每次保存触发监听 
	supervisor: 每秒触发监听
	npm install nodemon -g
	npm install supervisor -g

内置模块

​ Node.js内部提供的模块,直接加载参考api使用,无需安装。

​ 内置模块通常为异步操作(async),在方法后添加syn可转换为同步操作

path路径模块

当前目录__dirname

​ 表示当前目录路径字符串

路径拼接path.join([...paths])

​ 返回值:拼接后路径(字符串)

​ 参数:多个路径paths(字符串)

	let url = path.join(__dirname,'src','html','index.html')		例:主页路径

查找后缀path.extname(path)

​ 返回值:文件后缀(字符串)

​ 参数:路径path(字符串)

	let url = 'C:\Users\41702\Documents\_note\JAVAScript笔记2021.8.18.b.md'
	let ext = path.extname(url)	 		返回:.md

查找路径path.dirname(path)

​ 返回值:网页路径(字符串)

​ 参数:路径path(字符串)

	let url = 'C:\Users\41702\Documents\_note\JAVAScript笔记2021.8.18.b.md'
	let dirname = path.dirname(url)	 	返回:\C:\Users\41702\Documents\_note

查找文件名path.basename(path[,ext]);

​ 返回值:文件名(字符串)

​ 参数:路径path(字符串)

​ 参数:末尾去除部分ext(字符串)

	let url = 'C:\Users\41702\Documents\_note\JAVAScript笔记2021.8.18.b.md'
	let dirname = path.basename(url)	 		返回:JAVAScript笔记2021.8.18.b.md
	let dirname = path.basename(url,8.b.md)		返回:JAVAScript笔记2021.8.1

fs文件系统

目录

增加目录/文件
	创建目录fs.mkdir(url,(err)=>{})					创建文件fs.writeFile(file, data[, options], callback)
删除目录/文件
	删除目录fs.rmdir(url,(err)=>{})					删除文件fs.unlink(url,(err)=>{})
重命名目录/文件
	重命名目录/文件fs.rename(oldurl,newurl,(err)=>{})
查找目录/文件
	读取目录fs.readdir(url,(err,files)=>{})			读取文件fs.readFile(url,[encoding],(err,files)=>{})

创建目录fs.mkdir(url,callback)

​ 参数:新目录路径url(字符串) 注:只能创建一层目录

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

	fs.mkdir(path.join(__dirname, 'src'), err => {		//创建目录src
		if (err) throw err;								//如果有错误,则抛错
		console.log('创建成功');
	})

创建文件fs.writeFile(file, data[, options], callback)

​ 参数:新文件路径url(字符串) 注:路径中目录需已存在,且路径包含文件名

​ 参数:新文件内容data(字符串)

​ 参数:**[编码格式] ** 注:通常为空,或utf-8

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

	fs.writeFile(path.join(__dirname, 'src/test.txt'), 'hello', err => {	//创建文件test.txt
    	if (err) throw err;													//如果有错误,则抛错
    	console.log('创建成功');
	});

删除目录fs.rmdir(url,callback)

​ 参数:目标目录路径url(字符串) 注:若目录中有文件,则报错

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

	fs.rmdir(path.join(__dirname, 'src'), err => {		//删除目录src
		if (err) throw err;								//如果有错误,则抛错
		console.log('删除成功');
	})

​ 参数:目标文件路径url(字符串)

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

	fs.unlink(path.join(__dirname, 'src/test.txt'), err => {		//删除文件test.txt
		if (err) throw err;											//如果有错误,则抛错
		console.log('删除成功');
	})

重命名目录/文件fs.rename(oldurl,newurl,callback)

​ 参数:源目录/文件路径oldurl(字符串)

​ 参数:目标目录/文件路径newurl(字符串)

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

	let oldurl = path.join(__dirname, 'src/test.txt')
	let newurl = path.join(__dirname, 'src/new.txt')
	fs.rename(oldurl,newurl, err => {								//将test.txt命名为new.txt
		if (err) throw err;											//如果有错误,则抛错
		console.log('删除成功');
	})

读取目录fs.readdir(url,callback)

​ 参数:目标目录url(字符串)

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

​ 回调参数:目录中的文件名集files(数组)

	fs.readdir(path.join(__dirname, 'src/'), (err, files) => {
	    if (err) throw err;
	    console.log(files); 										//返回目录中的所有文件
	});

读取文件fs.readFile(url,[encoding],callback)

​ 参数:目标目录url(字符串)

​ 参数:编码格式encoding(字符串) 注:通常为空,或utf-8

​ 参数:运行结束后执行的函数callback

​ 回调参数:错误err

​ 回调参数:目录中的文件名集data(数组)

	fs.readFile(path.join(__dirname, 'src/'), (err, data) => {
	    if (err) throw err;
	    console.log(data); 											//返回二进制的文件内容
	});
	
	fs.readFile(path.join(__dirname, 'src/'),'utf-8', (err, data) => {
	    if (err) throw err;
	    console.log(data); 											//返回utf-8的文件内容
	});

http服务器模块

创建服务器http.createServer(callback)

​ 回调参数:请求request

​ 回调参数:响应response

​ 回调方法:设置请求头response.setHeader('Access-Control-Allow-Origin', '*') 解决跨域

​ 回调方法:设置请求头response.writeHead(statusCode状态码, [reasonPhrase数据类型], [{headers响应头}])

​ 回调方法:响应内容response.write(响应内容)

​ 回调方法:响应内容response.end([响应内容])

​ 链式方法:监听链接listen([port端口号],[host主机],callback)

	http.createServer((request,response)=>{
		response.setHeader('Access-Control-Allow-Origin', '*');
		response.writeHead(200,{'Content-Type': 'text/html;charset=utf-8'});	//设置文档类型和字符编码
		response.write('<h1>hellow world</h1>'); 								//响应的内容
		response.end(); 														//响应结束
	}).listen(port, host,()=>{
		console.log(`The server is running http://${host}:${port}`);			//监听
	});

自定义模块

​ 参考commonjs规范由用户采永js书写的模块。

npm包管理工具

​ 第三方模块一般都是从npmjs.com这个网站拉取,需要使用npm进行安装。

​ npm利用模块对象代码

npm使用基础

安装npm

npm基于Node.js环境,因此首先安装Node.js(Nodejs环境+npm包管理工具)

npm会和nodejs环境一并安装

注:node安装时,需按默认选项,安装至c盘

初始化npm

​ 自动创建 package.json插件目录node_modules插件文件夹

	$ npm init

自动加载目录

​ 将目录中的插件,加载进node_modules插件文件夹

	$ npm install

切换安装源

​ 由原本的服务器,切换成国内的服务器,改变插件的下载速度

nrm镜像源管理工具
	安装rnm:npm i nrm -g
	镜像列表:nrm 
	切换镜像:nrm use 源的名称

cnpm淘宝源(常用)
	$ npm install -g cnpm --registry=https://registry.npm.taobao.org	切换淘宝源

gulp模块

安装gulp

	$ npm install gulp -g		glup全局安装
	$ npm install gulp -D		glup开发环境安装
	$ npm install gulp -S		glup生产环境安装

安装gulp插件

	$ cnpm i 插件名 -D
	
	$ cnpm i gulp-rename -D           改名
	$ cnpm i gulp-htmlmin -D          压缩html文件
	$ cnpm i gulp-cssmin -D           压缩css文件
	$ cnpm i gulp-uglify -D           压缩js文件
	$ cnpm i gulp-imagemin -D         压缩图片
	$ cnpm i gulp.spritesmith -D      制作精灵图
	$ cnpm i gulp-concat -D           合并文件
	$ cnpm i gulp-less -D             编译less

使用gulp

​ 使用gulp方法前,需先安装引入

创建任务gulp.task()

参数1:taskname任务名(字符串)

参数2:calback执行内容(函数)

文件源gulp.src()

参数1:url源文件路径(字符串)

输出设置gulp.dest()

参数1:url源文件路径(字符串)

工厂链 .pipe()

参数:调用下一个步骤的函数(函数)

执行gulp

	$ gulp 任务名

express路由框架

​ express是个脚手架,通常作为后端使用

安装/创建express

全局安装
	npm i express-generator -g
	
项目创建
	express -e .			在当前目录,创建 ejs 模板的express脚手架
	express -e 文件名		  在当前目录的'文件名'目录中,创建 ejs 模板的express脚手架

运行express

加载package.json目录中的模块
	npm i
	
运行路由器
	npm start			通过内置于目录中的调试命令,快捷启动

cors跨域路由

​ 配合express脚手架使用,在app中路由之前引用可解决跨域问题

安装
	$ npm install cors -S				也可能是-D,都试一遍,然后回来改笔记

使用
	app.use(cors());					在其他路由设置之前设置
	app.use('/api', registerRouter);
	app.use('/users', usersRouter);

mongoose数据库

​ 使用js代码操作mongoose数据库

安装mongoose

	$ npm install mongoose -g